package com.logic.landseaserver.persistence.read;

import java.util.HashMap;
import java.util.List;

import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.domain.MonthlyBill;
import com.logic.landseaserver.domain.MonthlyBillBalanceRecord;
import com.logic.landseaserver.ws.dto.MonthlyBillDTO;

public interface MonthlyBillReadMapper {

    MonthlyBill selectByPrimaryKey(Integer id);

	MonthlyBillDTO selectDTOByPrimaryKey(Integer monthlyBillId);

	List<MonthlyBillDTO> getDTOList(QueryUtil queryUtil);
	
	List<MonthlyBillBalanceRecord> getDTOListWithBillCancel(QueryUtil queryUtil);

	List<?> getList(QueryUtil arg0);

	List<MonthlyBill> selectForBill(Integer contractId,String billDate);

	Integer getMaxBillNo();

	MonthlyBill selectForLateFee(MonthlyBill bill);

	List<MonthlyBill> queryMonthlyBillByStatus(Integer contractId,String status);

    MonthlyBill selectForUpdate(HashMap<String, Object> map);

    Integer selectBillMonth(Integer contractId);

    List<MonthlyBill> selectBillMonthByContractId(Integer contractId);
}